const app = getApp(); // 获取全局应用实例
const baseURL = app.globalData.baseURL

Page({
  data: {
    goodsList: [],
    selectId: null,
    orderInfo: null // 后端要传来的统一下单数据
  },

  changGoods(e) {
    this.setData({
      selectId: e.detail.value
    })
  },

  doPaymentV2() {
    //向后台发送一个请求.生成一大堆数据, 获取这一大堆数据.然后弹出支付二维码
    wx.request({
      url: baseURL + 'paymentV2/', // 微信支付V2版本
      data: {
        goodsId: this.data.selectId
      },
      method: 'POST',
      dataType: 'json',
      responseType: 'text',
      success: (res) => {
        // 调起微信支付
        wx.requestPayment({
          'timeStamp': res.data.timeStamp,
          'nonceStr': res.data.nonceStr,
          'package': res.data.package,
          'signType': res.data.signType,
          'paySign': res.data.paySign,
          'success': (res) => {
            wx.showToast({title: '支付成功'})
          },
          'fail': (err) => {
            wx.showToast({title: '支付失败!!'})
            console.error('支付失败', err)
          },
          'complete': () => {}
        })
      }
    })
  },

  doPaymentV3() {
    // console.log('V3授权头:', 'Bearer ' + wx.getStorageSync('token'))
    wx.request({
      url: baseURL + 'paymentV3/', // 微信支付V3版本
      method: 'POST',
      dataType: 'json',
      responseType: 'text',
      data: {
        goodsId: this.data.selectId
      },
      success: (res) => {
        // this.setData({ orderInfo: res.data })   // 可以存到全局变量中
        const order = res.data   // 后端传来的统一下单数据
        // 调起微信支付
        wx.requestPayment({
          timeStamp: order.timeStamp, //'后端生成的时间戳'
          nonceStr: order.nonce_str, //'后端生成的随机字符串'
          package: `prepay_id=${order.prepay_id}`, // 正确拼接
          signType: 'RSA',
          paySign: order.pay_sign, //'后端生成的签名'
          success: (res) => {
            wx.showToast({title: '支付成功'})
          },
          fail: (err) => {
            wx.showToast({title: '支付失败!'})
            console.error('支付失败', err)
          },
          'complete': () => {
            //刷新页面
            // window.location.reload();
          }
        })
      }
    })
  },

  onLoad(options) {
    wx.request({
      url: baseURL + 'goods/',
      method: 'GET',
      dataType: 'json',
      responseType: 'text',
      success: (res) => {
        // console.log('返回时:', res)
        if(res.statusCode == 200){
        this.setData({
          goodsList: res.data
        })
      }
      },
    })
  },
})